<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<style type="text/css">
.bk{
	width:1000px;
	margin:0 auto;
}
</style>	
</head>
<body>
sdasd

</body>
<script type="text/javascript">
var s1 = {color: 'blue' };
obj = {
	sub:function(a,b){
		console.log('sub111111111')
		this.showSub=function(a,b){
            alert(a-b);
        }
	},
	add:function(a,b){
		this.showAdd=function(a,b){
            alert(a+b);
        }
	}
}
obj.sub.call(s1,4,1);
s1.showSub(4,1)
// obj2={
// 	a:4,b:1
// }
// function hello(){
// 	// console.log(this)
// 	obj.sub.call(this)
// 	obj.add.call(obj2)
// }
// hello()
// obj2.sub()
// var all = new hello()
// console.log(all)
//d，多重继承
         // function Class10(){
         //     this.showSub=function(a,b){
         //         alert(a-b);
         //     }
         // }
         // function Class11(){
         //     this.showAdd=function(a,b){
         //         alert(a+b);
         //     }
         // }
         // function Class2(){
         //     Class10.call(this);
         //    Class11.call(this);
         // }
         // //使用两个call就实现多继承了。
         // var cls = new Class2()
         // console.log(cls)
         // cls.showSub(4,1)
// window.color = 'red';
//         document.color = 'yellow';

//         var s1 = {color: 'blue' };
//         function changeColor(){
//             console.log(this.color);
//         }

//         changeColor.call();         //red (默认传递参数)
//         changeColor.call(window);   //red
//         changeColor.call(document); //yellow
//         changeColor.call(this);     //red
//         changeColor.call(s1);       //blue

</script>
</html>